﻿Imports VN.INS.DL.DH
Imports VN.INS.BL.BE

Public Class ProgfisicoDA
    Public Function filtrar_Progfisico(ByVal strPoa As String) As DataTable
        Dim objData As AdministradorOracle = New AdministradorOracle
        Dim objDt As DataTable
        Dim lxc_SQL As String

        Try

            lxc_SQL = "SELECT COMP.DESCRIPCION AS COMPONENTE, U.DESCRIPCION AS UNIDAD, PAF.CODIGO, PAF.TAREA_ACTIVIDAD_DESCRIPCION AS TAREA ,PAF.META_01,PAF.META_02, " + _
                            "PAF.META_03, PAF.META_04,PAF.META_05,PAF.META_06,PAF.META_07,PAF.META_08,PAF.META_09,PAF.META_10, " + _
                            "PAF.META_11,PAF.META_12,( NVL(META_01, 0) +  NVL(META_02, 0) + NVL(META_03, 0) + NVL(META_04, 0) + NVL(META_05, 0) +NVL(META_06, 0) + " + _
                            "NVL(META_07, 0)  + NVL(META_08, 0) + NVL(META_09, 0) + NVL(META_10, 0) +NVL(META_11, 0) +  NVL(META_12,0) ) AS META_ANUAL, PESO " + _
                      "FROM POA_ACTIVIDAD_FISICA  PAF INNER JOIN  POA_ACTIVIDAD_COMPONENTE COMP ON  PAF.COMPONENTE = COMP.COMPONENTE " + _
                            "INNER JOIN UNIDAD U ON PAF.UNIDAD = U.UNIDAD " + _
                     "WHERE PAF.POA ='" + strPoa + "' " + _
                     "ORDER BY " + _
                                    "TO_NUMBER(NVL2(REGEXP_SUBSTR(CODIGO,'[^._]+',1,1), REGEXP_SUBSTR(CODIGO,'[^._]+',1,1), 0)) ASC, " + _
                                    "TO_NUMBER(NVL2(REGEXP_SUBSTR(CODIGO,'[^._]+',1,2), REGEXP_SUBSTR(CODIGO,'[^._]+',1,2), 0)) ASC,  " + _
                                    "TO_NUMBER(NVL2(REGEXP_SUBSTR(CODIGO,'[^._]+',1,3), REGEXP_SUBSTR(CODIGO,'[^._]+',1,3), 0)) ASC,  " + _
                                    "TO_NUMBER(NVL2(REGEXP_SUBSTR(CODIGO,'[^._]+',1,4), REGEXP_SUBSTR(CODIGO,'[^._]+',1,4), 0)) ASC,  " + _
                                    "TO_NUMBER(NVL2(REGEXP_SUBSTR(CODIGO,'[^._]+',1,5), REGEXP_SUBSTR(CODIGO,'[^._]+',1,5), 0)) ASC  "

            objDt = objData.ExecuteSQL(lxc_SQL, "Conexion.Oracle")
            Return objDt

        Catch ex As Exception
            Throw
        End Try
    End Function
End Class
